# jupyter notebook을 통한 ppt발표(슬라이드)가 가능. 관련 프로그램을 깔아야한다.
밈(Meme)과 클래스
신혜선의 어쩔티비
-
밈이란? 유전자처럼 복제가능한 something
클래스
-
클래스에 대한 비유적 설명 (implicit definition)
클래스는 과자틀과 비슷하다. 클래스란 똑같은 무엇인가를 계속 만들어 낼 수도 있는 설계도면이고 객체란 클래스로 만든 피조물을 뜻한다. (점프투파이썬)
In object-oriented programming, a class is an extensible program-code-template for creating objects, providing initial values for state (member variables) and implementations of behavior (member functions or methods). // 객체 지향 프로그래밍에서 클래스는 상태(멤버 변수) 및 동작 구현(멤버 함수 또는 메서드)에 대한 초기 값을 제공하는 객체 생성을 위한 확장 가능한 프로그램 코드 템플릿입니다.
http://www.tcpschool.com/java/java_class_intro
https://javacpro.tistory.com/29
https://ko.wikipedia.org/wiki/%ED%81%B4%EB%9E%98%EC%8A%A4_(%EC%BB%B4%ED%93%A8%ED%84%B0_%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D)
-
클래스에 대한 명시적 정의 (교수님 생각)
- 클래스는 복제, 변형, 재생산을 용이하게 하기 위해 만들어진 확장가능한 프로그램의 코드의 단위(extensible program-code-template)이다. 즉 밈이다.
-
클래스도 결국 밈이다. 생각해보면 클래스를 만들고 사용하는 과정이 인터넷에서 밈을 만들고 노는것과 닮아 있다.
1단계: 개념의 인지 (이거 재미있겠다 밈으로 만들자 // 이 코드 쓸모있다, 이 코드를 쉽게 찍어내는 클래스로 만들어두자)
2단계: 복사하고 싶은 속성을 추려 복사가능한 틀을 만듬 (밈 초기 컨텐츠 // 클래스의 선언)
3단계: 밈에서 다양한 컨텐츠를 재생산, 때로는 변형하여 재생산, 때로는 그것을 응용한 다른밈을 만듬 (밈화 // 클래스의 인스턴스화, 상속, 메소드오버라이딩)
“멈춰” 밈을 컨텐츠화
-
멈춰 밈을 이용하여 코스피하락, 수강신청 매크로 등 다양한 예제를 만들자
from IPython.core.display import HTML
예비학습
문자열포맷팅 (문자열끼워넣기)
-
예제1
'제 이름은 {}입니다.'.format('보람')
'제 이름은 보람입니다.'
-
예제2
'제 이름은 {}이고 사는 곳은 {}입니다.'.format('보람','전주')
'제 이름은 보람이고 사는 곳은 전주입니다.'
'제 이름은 {}이고 사는 곳은 {}입니다.'.format('전주','보람')
'제 이름은 전주이고 사는 곳은 보람입니다.'
-
예제3
'제 이름은 {name}이고 사는 곳은 {add}입니다.'.format(name='보람',add='전주')
'제 이름은 보람이고 사는 곳은 전주입니다.'
'제 이름은 {name}이고 사는 곳은 {add}입니다.'.format(add='전주',name='보람')
'제 이름은 보람이고 사는 곳은 전주입니다.'
HTML
-
예제1
"<p> 이름 </p>") HTML(
이름
-
예제2
"<img src='https://stat.jbnu.ac.kr/sites/stat/atchmnfl_mngr/imageSlide/469/temp_1573001043314100.jpg'>") HTML(
-
예제3
"<p> 전북대학교 </p><img src='https://stat.jbnu.ac.kr/sites/stat/atchmnfl_mngr/imageSlide/469/temp_1573001043314100.jpg'>") HTML(
전북대학교
HTML을 이용한 밈생성
-
밈을 위한 이미지 주소
='https://github.com/guebin/IP2022/blob/master/_notebooks/2022-05-07-stop1.jpeg?raw=true'
url1='https://github.com/guebin/IP2022/blob/master/_notebooks/2022-05-07-stop2.png?raw=true' url2
-
예제1: 원본
format(title='학교폭력',url=url1,end='멈춰~~~~') htmlstr.
"<p> 학교폭력 </p> <img src='https://github.com/guebin/IP2022/blob/master/_notebooks/2022-05-07-stop1.jpeg?raw=true'> <p> 멈춰~~~~ </p>"
= "<p> {title} </p> <img src='{url}'> <p> {end} </p>"
htmlstr format(title='학교폭력',url=url1,end='멈춰~~~~')) HTML(htmlstr.
학교폭력
멈춰~~~~
-
예제2: 코스피하락 멈춰어
format(title='코스피하락',url=url1,end='멈춰~~~~')) HTML(htmlstr.
코스피하락
멈춰~~~~
-
예제3: 매크로 멈춰어
format(title='수강신청매크로',url=url1,end='멈춰~~~~')) HTML(htmlstr.
수강신청매크로
멈춰~~~~
함수를 만들어서 코드를 관리
-
함수의 선언
def stop():
= "<p> {title} </p> <img src='{url}'> <p> {end} </p>"
htmlstr format(title=ttl,url=url,end=end))) #display로 받아주는게 좋다
display(HTML(htmlstr.
-
사용
= '돈쓰는거'
ttl = url1
url = '멈춰 ㅠ'
end stop()
돈쓰는거
멈춰 ㅠ
= '술담배'
ttl = url1
url = '멈춰!'
end stop()
술담배
멈춰!
= '코코 주워먹는거'
ttl = url2
url = '멈춰!!!!!'
end stop()
코코 주워먹는거
멈춰!!!!!
클래스를 만들어서 관리
class STOOOP: #STOOOP은 양식문서의 이름이라 생각하자.
= "학교폭력"
title = url1
url = "멈춰~~~~"
end def stop(self): # 규칙1: class안에서 정의된 함수는 첫번째 입력으로 무조건 self를 받는다.
= "<p> {title} </p> <img src='{url}'> <p> {end} </p>"
htmlstr format(title=self.title,url=self.url,end=self.end)))
display(HTML(htmlstr.# 규칙2: class안에서 정의된 변수 (title, url, end)를 쓰려면 "self.변수이름"의 형태로 써야함
t=1 학교폭력멈춰
= STOOOP()
school
# STOOOP이라는 이름의 양식문서를 복사해 하나의 hwp 파일을 만들어 밈을 생성하고 그 파일이름을 school이라고 하자.
# 그러니가 STOOP.hwp 와 school.hwp가 잇다..
school.title
'학교폭력'
school.url
'https://github.com/guebin/IP2022/blob/master/_notebooks/2022-05-07-stop1.jpeg?raw=true'
school.end
'멈춰~~~~'
school.stop()
학교폭력
멈춰~~~~
t=2 코스피하락멈춰
= STOOOP() # 코스피하락 멈춰를 위해 STOOP.hwp양식문서에서 하나의 밈을 찍어낸다. (kospi.hwp)
kospi = '코스피하락' #제목변경 kospi.title
kospi.stop()
코스피하락
멈춰~~~~
t=3 수강신청매크로 멈춰
= STOOOP() macro
macro.title, macro.url, macro.end
('학교폭력',
'https://github.com/guebin/IP2022/blob/master/_notebooks/2022-05-07-stop1.jpeg?raw=true',
'멈춰~~~~')
= "수강신청매크로" macro.title
macro.stop()
수강신청매크로
멈춰~~~~
t=4 수강신청 매크로 멈춰 끝 물결대신 느낌표
= "멈춰!!!!!!!!" macro.end
macro.title, macro.url, macro.end
('수강신청매크로',
'https://github.com/guebin/IP2022/blob/master/_notebooks/2022-05-07-stop1.jpeg?raw=true',
'멈춰!!!!!!!!')
macro.stop()
수강신청매크로
멈춰!!!!!!!!
t=5 코스피하락 다시 출력 (함수와 비교했을때 실수 발생x)
kospi.stop()
코스피하락
멈춰~~~~
t=6 학교폭력 멈춰와 코스피하락 멈춰 동시에 출력
school.stop()
학교폭력
멈춰~~~~
kospi.stop()
코스피하락
멈춰~~~~
t=7 “학교폭력 멈춰”의 이미지를 신혜선으로 변경, “코스피하락 멈춰”의 title을 ’KOSPI하락’으로 변경
= url2
school.url = "KOSPI하락" kospi.title
school.stop()
학교폭력
멈춰~~~~
kospi.stop()
KOSPI하락
멈춰~~~~
숙제
“수강신청 멈춰”의 이미지를 신혜선으로 변경하고 출력해볼 것
macro.url 변경 macro.stop() 을 사용
=url2 macro.url
macro.stop()
수강신청매크로
멈춰!!!!!!!!